// 理解自动装箱

// 原始数据: 是一种既非对象也无方法的数据
// https://developer.mozilla.org/zh-CN/docs/Glossary/Primitive

// 变量 p 所保存的 string 值既非对象也无方法
const p = 'kaifamiao.com' ;
console.log( p , typeof p );

// 将变量 p 中存储的原始值包裹到一个String实例中即可使用String原型方法
let first = p.indexOf( '.' ); // String.prototype.indexOf
// 自动将 string 原始值 包裹到一个 String实例 中的过程就是 自动装箱
let last = p.lastIndexOf( '.' ); // String.prototype.lastIndexOf
console.log( first , last );

// 从 字符串中截取 [ start , end ) 之间的内容
const r = p.substring( 0 , last ); // String.prototype.substring
console.log( r , typeof r );